home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1042.txt < prev    next >
Text File  |  1994-08-01  |  34KB  |  843 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          J. Postel
  8. Request for Comments:  1042                                  J. Reynolds
  9.                                                                      ISI
  10. Obsoletes: RFC-948                                         February 1988
  11.  
  12.  
  13.  
  14.  A Standard for the Transmission of IP Datagrams over IEEE 802 Networks
  15.  
  16.  
  17. Status of this Memo
  18.  
  19.    This RFC specifies a standard method of encapsulating the Internet
  20.    Protocol (IP) [1] datagrams and Address Resolution Protocol (ARP) [2]
  21.    requests and replies on IEEE 802 Networks.  This RFC specifies a
  22.    protocol standard for the Internet community.  Distribution of this
  23.    memo is unlimited.
  24.  
  25. Acknowledgment
  26.  
  27.    This memo would not exist with out the very significant contributions
  28.    of Drew Perkins of Carnegie Mellon University, Jacob Rekhter of the
  29.    T.J. Watson Research Center, IBM Corporation, and Joseph Cimmino of
  30.    the University of Maryland.
  31.  
  32. Introduction
  33.  
  34.    The goal of this specification is to allow compatible and
  35.    interoperable implementations for transmitting IP datagrams and ARP
  36.    requests and replies.  To achieve this it may be necessary in a few
  37.    cases to limit the use that IP and ARP make of the capabilities of a
  38.    particular IEEE 802 standard.
  39.  
  40.    The IEEE 802 specifications define a family of standards for Local
  41.    Area Networks (LANs) that deal with the Physical and Data Link Layers
  42.    as defined by the ISO Open System Interconnection Reference Model
  43.    (ISO/OSI).  Several Physical Layer standards (802.3, 802.4, and
  44.    802.5) [3,4,5] and one Data Link Layer Standard (802.2) [6] have been
  45.    defined.  The IEEE Physical Layer standards specify the ISO/OSI
  46.    Physical Layer and the Media Access Control Sublayer of the ISO/OSI
  47.    Data Link Layer.  The 802.2 Data Link Layer standard specifies the
  48.    Logical Link Control Sublayer of the ISO/OSI Data Link Layer.
  49.  
  50.    This memo describes the use of IP and ARP on the three types of
  51.    networks.  At this time, it is not necessary that the use of IP and
  52.    ARP be consistent across all three types of networks, only that it be
  53.    consistent within each type.  This may change in the future as new
  54.    IEEE 802 standards are defined and the existing standards are revised
  55.  
  56.  
  57.  
  58. Postel & Reynolds                                               [Page 1]
  59.  
  60. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  61.  
  62.  
  63.    allowing for interoperability at the Data Link Layer.
  64.  
  65.    It is the goal of this memo to specify enough about the use of IP and
  66.    ARP on each type of network to ensure that:
  67.  
  68.       (1) all equipment using IP or ARP on 802.3 networks will
  69.       interoperate,
  70.  
  71.       (2) all equipment using IP or ARP on 802.4 networks will
  72.       interoperate,
  73.  
  74.       (3) all equipment using IP or ARP on 802.5 networks will
  75.       interoperate.
  76.  
  77.    Of course, the goal of IP is interoperability between computers
  78.    attached to different networks, when those networks are
  79.    interconnected via an IP gateway [8].  The use of IEEE 802.1
  80.    compatible Transparent Bridges to allow interoperability across
  81.    different networks is not fully described pending completion of that
  82.    standard.
  83.  
  84. Description
  85.  
  86.    IEEE 802 networks may be used as IP networks of any class (A, B, or
  87.    C).  These systems use two Link Service Access Point (LSAP) fields of
  88.    the LLC header in much the same way the ARPANET uses the "link"
  89.    field.  Further, there is an extension of the LLC header called the
  90.    Sub-Network Access Protocol (SNAP).
  91.  
  92.    IP datagrams are sent on IEEE 802 networks encapsulated within the
  93.    802.2 LLC and SNAP data link layers, and the 802.3, 802.4, or 802.5
  94.    physical networks layers.  The SNAP is used with an Organization Code
  95.    indicating that the following 16 bits specify the EtherType code (as
  96.    listed in Assigned Numbers [7]).
  97.  
  98.    Normally, all communication is performed using 802.2 type 1
  99.    communication.  Consenting systems on the same IEEE 802 network may
  100.    use 802.2 type 2 communication after verifying that it is supported
  101.    by both nodes.  This is accomplished using the 802.2 XID mechanism.
  102.    However, type 1 communication is the recommended method at this time
  103.    and must be supported by all implementations.  The rest of this
  104.    specification assumes the use of type 1 communication.
  105.  
  106.    The IEEE 802 networks may have 16-bit or 48-bit physical addresses.
  107.    This specification allows the use of either size of address within a
  108.    given IEEE 802 network.
  109.  
  110.    Note that the 802.3 standard specifies a transmission rate of from 1
  111.  
  112.  
  113.  
  114. Postel & Reynolds                                               [Page 2]
  115.  
  116. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  117.  
  118.  
  119.    to 20 megabit/second, the 802.4 standard specifies 1, 5, and 10
  120.    megabit/second, and the 802.5 standard specifies 1 and 4
  121.    megabit/second.  The typical transmission rates used are 10
  122.    megabit/second for 802.3, 10 megabit/second for 802.4, and 4
  123.    megabit/second for 802.5.  However, this specification for the
  124.    transmission of IP Datagrams does not depend on the transmission
  125.    rate.
  126.  
  127. Header Format
  128.                                                                   Header
  129.  
  130.    ...--------+--------+--------+
  131.               MAC Header        |                        802.{3/4/5} MAC
  132.    ...--------+--------+--------+
  133.  
  134.    +--------+--------+--------+
  135.    | DSAP=K1| SSAP=K1| Control|                                802.2 LLC
  136.    +--------+--------+--------+
  137.  
  138.    +--------+--------+---------+--------+--------+
  139.    |Protocol Id or Org Code =K2|    EtherType    |            802.2 SNAP
  140.    +--------+--------+---------+--------+--------+
  141.  
  142.    The total length of the LLC Header and the SNAP header is 8-octets,
  143.    making the 802.2 protocol overhead come out on an nice boundary.
  144.  
  145.    The K1 value is 170 (decimal).
  146.  
  147.    The K2 value is 0 (zero).
  148.  
  149.    The control value is 3 (Unnumbered Information).
  150.  
  151. Address Mappings
  152.  
  153.    The mapping of 32-bit Internet addresses to 16-bit or 48-bit IEEE 802
  154.    addresses must be done via the dynamic discovery procedure of the
  155.    Address Resolution Protocol (ARP) [2].
  156.  
  157.    Internet addresses are assigned arbitrarily on Internet networks.
  158.    Each host's implementation must know its own Internet address and
  159.    respond to Address Resolution requests appropriately.  It must also
  160.    use ARP to translate Internet addresses to IEEE 802 addresses when
  161.    needed.
  162.  
  163.    The ARP Details
  164.  
  165.       The ARP protocol has several fields that parameterize its use in
  166.       any specific context [2].  These fields are:
  167.  
  168.  
  169.  
  170. Postel & Reynolds                                               [Page 3]
  171.  
  172. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  173.  
  174.  
  175.          hrd     16 - bits       The Hardware Type Code
  176.          pro     16 - bits       The Protocol Type Code
  177.          hln      8 - bits       Octets in each hardware address
  178.          pln      8 - bits       Octets in each protocol address
  179.          op      16 - bits       Operation Code
  180.  
  181.       The hardware type code assigned for the IEEE 802 networks (of all
  182.       kinds) is 6 (see [7] page 16).
  183.  
  184.       The protocol type code for IP is 2048 (see [7] page 14).
  185.  
  186.       The hardware address length is 2 for 16-bit IEEE 802 addresses, or
  187.       6 for 48-bit IEEE 802 addresses.
  188.  
  189.       The protocol address length (for IP) is 4.
  190.  
  191.       The operation code is 1 for request and 2 for reply.
  192.  
  193. Broadcast Address
  194.  
  195.    The broadcast Internet address (the address on that network with a
  196.    host part of all binary ones) should be mapped to the broadcast IEEE
  197.    802 address (of all binary ones) (see [8] page 14).
  198.  
  199. Trailer Formats
  200.  
  201.    Some versions of Unix 4.x bsd use a different encapsulation method in
  202.    order to get better network performance with the VAX virtual memory
  203.    architecture.  Consenting systems on the same IEEE 802 network may
  204.    use this format between themselves.  Details of the trailer
  205.    encapsulation method may be found in [9].  However, all hosts must be
  206.    able to communicate using the standard (non-trailer) method.
  207.  
  208. Byte Order
  209.  
  210.    As described in Appendix B of the Internet Protocol specification
  211.    [1], the IP datagram is transmitted over IEEE 802 networks as a
  212.    series of 8-bit bytes.  This byte transmission order has been called
  213.    "big-endian" [11].
  214.  
  215. Maximum Transmission Unit
  216.  
  217.    The Maximum Transmission Unit (MTU) differs on the different types of
  218.    IEEE 802 networks.  In the following there are comments on the MTU
  219.    for each type of IEEE 802 network.  However, on any particular
  220.    network all hosts must use the same MTU.  In the following, the terms
  221.    "maximum packet size" and "maximum transmission unit" are equivalent.
  222.  
  223.  
  224.  
  225.  
  226. Postel & Reynolds                                               [Page 4]
  227.  
  228. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  229.  
  230.  
  231. Frame Format and MAC Level Issues
  232.  
  233.    For all hardware types
  234.  
  235.       IP datagrams and ARP requests and replies are transmitted in
  236.       standard 802.2 LLC Type 1 Unnumbered Information format, control
  237.       code 3, with the DSAP and the SSAP fields of the 802.2 header set
  238.       to 170, the assigned global SAP value for SNAP [6].  The 24-bit
  239.       Organization Code in the SNAP is zero, and the remaining 16 bits
  240.       are the EtherType from Assigned Numbers [7] (IP = 2048, ARP =
  241.       2054).
  242.  
  243.       IEEE 802 packets may have a minimum size restriction.  When
  244.       necessary, the data field should be padded (with octets of zero)
  245.       to meet the IEEE 802 minimum frame size requirements.  This
  246.       padding is not part of the IP datagram and is not included in the
  247.       total length field of the IP header.
  248.  
  249.       For compatibility (and common sense) the minimum packet size used
  250.       with IP datagrams is 28 octets, which is 20 (minimum IP header) +
  251.       8 (LLC+SNAP header) = 28 octets (not including the MAC header).
  252.  
  253.       The minimum packet size used with ARP is 24 octets, which is 20
  254.       (ARP with 2 octet hardware addresses and 4 octet protocol
  255.       addresses) + 8 (LLC+SNAP header) = 24 octets (not including the
  256.       MAC header).
  257.  
  258.       In typical situations, the packet size used with ARP is 32 octets,
  259.       which is 28 (ARP with 6 octet hardware addresses and 4 octet
  260.       protocol addresses) + 8 (LLC+SNAP header) = 32 octets (not
  261.       including the MAC header).
  262.  
  263.       IEEE 802 packets may have a maximum size restriction.
  264.       Implementations are encouraged to support full-length packets.
  265.  
  266.       For compatibility purposes, the maximum packet size used with IP
  267.       datagrams or ARP requests and replies must be consistent on a
  268.       particular network.
  269.  
  270.       Gateway implementations must be prepared to accept full-length
  271.       packets and fragment them when necessary.
  272.  
  273.       Host implementations should be prepared to accept full-length
  274.       packets, however hosts must not send datagrams longer than 576
  275.       octets unless they have explicit knowledge that the destination is
  276.       prepared to accept them.  A host may communicate its size
  277.       preference in TCP based applications via the TCP Maximum Segment
  278.       Size option [10].
  279.  
  280.  
  281.  
  282. Postel & Reynolds                                               [Page 5]
  283.  
  284. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  285.  
  286.  
  287.       Datagrams on IEEE 802 networks may be longer than the general
  288.       Internet default maximum packet size of 576 octets.  Hosts
  289.       connected to an IEEE 802 network should keep this in mind when
  290.       sending datagrams to hosts not on the same IEEE 802 network.  It
  291.       may be appropriate to send smaller datagrams to avoid unnecessary
  292.       fragmentation at intermediate gateways.  Please see [10] for
  293.       further information.
  294.  
  295.       IEEE 802.2 Details
  296.  
  297.          While not necessary for supporting IP and ARP, all
  298.          implementations are required to support IEEE 802.2 standard
  299.          Class I service.  This requires supporting Unnumbered
  300.          Information (UI) Commands, eXchange IDentification (XID)
  301.          Commands and Responses, and TEST link (TEST) Commands and
  302.          Responses.
  303.  
  304.          When either an XID or a TEST command is received a response
  305.          must be returned; with the Destination and Source addresses,
  306.          and the DSAP and SSAP swapped.
  307.  
  308.          When responding to an XID or a TEST command the sense of the
  309.          poll/final bit must be preserved.  That is, a command received
  310.          with the poll/final bit reset must have the response returned
  311.          with the poll/final bit reset and vice versa.
  312.  
  313.          The XID command or response has an LLC control field value of
  314.          175 (decimal) if poll is off or 191 (decimal) if poll is on.
  315.          (See Appendix on Numbers.)
  316.  
  317.          The TEST command or response has an LLC control field value of
  318.          227 (decimal) if poll is off or 243 (decimal) if poll is on.
  319.          (See Appendix on Numbers.)
  320.  
  321.          A command frame is identified with high order bit of the SSAP
  322.          address reset.  Response frames have high order bit of the SSAP
  323.          address set to one.
  324.  
  325.          XID response frames should include an 802.2 XID Information
  326.          field of 129.1.0 indicating Class I (connectionless) service.
  327.          (type 1).
  328.  
  329.          TEST response frames should echo the information field received
  330.          in the corresponding TEST command frame.
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Postel & Reynolds                                               [Page 6]
  339.  
  340. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  341.  
  342.  
  343.    For IEEE 802.3
  344.  
  345.       A particular implementation of an IEEE 802.3 Physical Layer is
  346.       denoted using a three field notation.  The three fields are data
  347.       rate in megabit/second, medium type, and maximum segment length in
  348.       hundreds of meters.  One combination of of 802.3 parameters is
  349.       10BASE5 which specifies a 10 megabit/second transmission rate,
  350.       baseband medium, and 500 meter segments.  This correspondes to the
  351.       specifications of the familiar "Ethernet" network.
  352.  
  353.       The MAC header contains 6 (2) octets of source address, 6 (2)
  354.       octets of destination address, and 2 octets of length.  The MAC
  355.       trailer contains 4 octets of Frame Check Sequence (FCS), for a
  356.       total of 18 (10) octets.
  357.  
  358.       IEEE 802.3 networks have a minimum packet size that depends on the
  359.       transmission rate.  For type 10BASE5 802.3 networks the minimum
  360.       packet size is 64 octets.
  361.  
  362.       IEEE 802.3 networks have a maximum packet size which depends on
  363.       the transmission rate.  For type 10BASE5 802.3 networks the
  364.       maximum packet size is 1518 octets including all octets between
  365.       the destination address and the FCS inclusive.
  366.  
  367.       This allows 1518 - 18 (MAC header+trailer) - 8 (LLC+SNAP header) =
  368.       1492 for the IP datagram (including the IP header).  Note that
  369.       1492 is not equal to 1500 which is the MTU for Ethernet networks.
  370.  
  371.    For IEEE 802.4
  372.  
  373.       The MAC header contains 1 octet of frame control, 6 (2) octets of
  374.       source address, and 6 (2) octets of destination address.  The MAC
  375.       trailer contains 4 octets of Frame Check Sequence (FCS), for a
  376.       total of 17 (9) octets.
  377.  
  378.       IEEE 802.4 networks have no minimum packet size.
  379.  
  380.       IEEE 802.4 networks have a maximum packet size of 8191 octets
  381.       including all octets between the frame control and the FCS
  382.       inclusive.
  383.  
  384.       This allows 8191 - 17 (MAC header+trailer) - 8 (LLC+SNAP header) =
  385.       8166 for the IP datagram (including the IP header).
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Postel & Reynolds                                               [Page 7]
  395.  
  396. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  397.  
  398.  
  399.    For IEEE 802.5
  400.  
  401.       The current standard for token ring's, IEEE 802.5-1985, specifies
  402.       the operation of single ring networks.  However, most
  403.       implementations of 802.5 have added extensions for multi-ring
  404.       networks using source-routing of packets at the MAC layer.  There
  405.       is now a Draft Addendum to IEEE 802.5, "Enhancement for Multi-Ring
  406.       Networks" which attempts to standardize these extensions.
  407.       Unfortunately, the most recent draft (November 10, 1987) is still
  408.       rapidly evolving.  More importantly, it differs significantly from
  409.       the existing implementations.  Therefore, the existing
  410.       implementations of 802.5 [13] are described but no attempt is made
  411.       to specify any future standard.
  412.  
  413.       The MAC header contains 1 octet of access control, 1 octet of
  414.       frame control, 6 (2) octets of source address, 6 (2) octets of
  415.       destination address, and (for multi-ring networks) 0 to 18 octets
  416.       of Routing Information Field (RIF).  The MAC trailer contains 4
  417.       octets of FCS, for a total of 18 (10) to 36 (28) octets.  There is
  418.       one additional octet of frame status after the FCS.
  419.  
  420.       Multi-Ring Extension Details
  421.  
  422.          The presence of a Routing Information Field is indicated by the
  423.          Most Significant Bit (MSB) of the source address, called the
  424.          Routing Information Indicator (RII).  If the RII equals zero, a
  425.          RIF is not present.  If the RII equals 1, the RIF is present.
  426.          Although the RII is indicated in the source address, it is not
  427.          part of a stations MAC layer address.  In particular, the MSB
  428.          of a destination address is the individual/group address
  429.          indicator, and if set will cause such frames to be interpreted
  430.          as multicasts.  Implementations should be careful to reset the
  431.          RII to zero before passing source addresses to other protocol
  432.          layers which may be confused by their presence.
  433.  
  434.          The RIF consists of a two-octet Routing Control (RC) field
  435.          followed by 0 to 8 two-octet Route-Designator (RD) fields.  The
  436.          RC for all-routes broadcast frames is formatted as follows:
  437.  
  438.                          0                   1
  439.                          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  440.                         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  441.                         |  B  |   LTH   |D|  LF |   r   |
  442.                         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  443.  
  444.                        Note that each tick mark represents one bit position.
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Postel & Reynolds                                               [Page 8]
  451.  
  452. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  453.  
  454.  
  455.             B - Broadcast Indicators: 3 bits
  456.  
  457.                The Broadcast Indicators are used to indicate the routing
  458.                desired for a particular frame.  A frame may be routed
  459.                through a single specified route, through every distinct
  460.                non-repeating route in a multi-ring network, or through a
  461.                single route determined by a spanning tree algorithm such
  462.                that the frame appears on every ring exactly once.  The
  463.                values which may be used at this time are (in binary):
  464.  
  465.                   000 - Non-broadcast (specific route)
  466.                   100 - All-routes broadcast (global broadcast)
  467.                   110 - Single-route broadcast (limited broadcast)
  468.  
  469.                All other values are reserved for future use.
  470.  
  471.             LTH - Length: 5 bits
  472.  
  473.                The Length bits are used to indicate the length or the RI
  474.                field, including the RC and RD fields.  Only even values
  475.                between 2 and 30 inclusive are allowed.
  476.  
  477.             D - Direction Bit: 1 bit
  478.  
  479.                The D bit specifies the order of the RD fields.  If D
  480.                equals 1, the routing-designator fields are specified in
  481.                reverse order.
  482.  
  483.             LF - Largest Frame: 3 bits
  484.  
  485.                The LF bits specify the maximum MTU supported by all
  486.                bridges along a specific route.  All multi-ring broadcast
  487.                frames should be transmitted with a value at least as
  488.                large as the supported MTU.  The values used are:
  489.  
  490.                        LF (binary)   MAC MTU      IP MTU
  491.  
  492.                            000          552         508
  493.                            001         1064        1020
  494.                            010         2088        2044
  495.                            011         4136        4092
  496.                            100         8232        8188
  497.  
  498.                All other values are reserved for future use.
  499.  
  500.                The receiver should compare the LF received with the MTU.
  501.                If the LF is greater than or equal to the MTU then no
  502.                action is taken; however, if the LF is less than the MTU
  503.  
  504.  
  505.  
  506. Postel & Reynolds                                               [Page 9]
  507.  
  508. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  509.  
  510.  
  511.                the frame is rejected.
  512.  
  513.                   There are actually three possible actions if LF < MTU.
  514.                   First is the one required for this specification
  515.                   (reject the frame).  Second is to reduce the MTU for
  516.                   all hosts to equal the LF.  And, third is to keep a
  517.                   separate MTU per communicating host based on the
  518.                   received LFs.
  519.  
  520.             r - reserved: 4 bits
  521.  
  522.                These bits are reserved for future use and must be set to
  523.                0 by the transmitter and ignored by the receiver.
  524.  
  525.          It is not necessary for an implementation to interpret
  526.          routing-designators.  Their format is left unspecified.
  527.          Routing-designators should be transmitted exactly as received.
  528.  
  529.       IEEE 802.5 networks have no minimum packet size.
  530.  
  531.       IEEE 802.5 networks have a maximum packet size based on the
  532.       maximum time a node may hold the token.  This time depends on many
  533.       factors including the data signalling rate and the number of nodes
  534.       on the ring.  The determination of maximum packet size becomes
  535.       even more complex when multi-ring networks with bridges are
  536.       considered.
  537.  
  538.       Given a token-holding time of 9 milliseconds and a 4
  539.       megabit/second ring, the maximum packet size possible is 4508
  540.       octets including all octets between the access control and the FCS
  541.       inclusive.
  542.  
  543.       This allows 4508 - 36 (MAC header+trailer with 18 octet RIF) - 8
  544.       (LLC+SNAP header) = 4464 for the IP datagram (including the IP
  545.       header).
  546.  
  547.       However, some current implementations are known to limit packets
  548.       to 2046 octets (allowing 2002 octets for IP).  It is recommended
  549.       that all implementations support IP packets of at least 2002
  550.       octets.
  551.  
  552.       By convention, source routing bridges used in multi-ring 802.5
  553.       networks will not support packets larger than 8232 octets.  With a
  554.       MAC header+trailer of 36 octets and the LLC+SNAP header of 8
  555.       octets, the IP datagram (including IP header) may not exceed 8188
  556.       octets.
  557.  
  558.       A source routing bridge linking two rings may be configured to
  559.  
  560.  
  561.  
  562. Postel & Reynolds                                              [Page 10]
  563.  
  564. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  565.  
  566.  
  567.       limit the size of packets forwarded to 552 octets, with a MAC
  568.       header+trailer of 36 octets and the LLC+SNAP of 8 octets, the IP
  569.       datagram (including the IP header) may be limited to 508 octets.
  570.       This is less that the default IP MTU of 576 octets, and may cause
  571.       significant performance problems due to excessive datagram
  572.       fragmentation.  An implementation is not required to support an
  573.       MTU of less than 576 octets, although it is suggest that the MTU
  574.       be a user-configurable parameter to allow for it.
  575.  
  576.       IEEE 802.5 networks support three different types of broadcasts.
  577.       All-Stations broadcasts are sent with no RIF or with the Broadcast
  578.       Indicators set to 0 and no Routing Designators, and are copied
  579.       once by all stations on the local ring.  All-Routes broadcasts are
  580.       sent with the corresponding Broadcast Indicators and result in
  581.       multiple copies equal to the number of distinct non-repeating
  582.       routes a packet may follow to a particular ring.  Single-Route
  583.       broadcasts result in exactly one copy of a frame being received by
  584.       all stations on the multi-ring network.
  585.  
  586.       The dynamic address discovery procedure is to broadcast an ARP
  587.       request.  To limit the number of all rings broadcasts to a
  588.       minimum, it is desirable (though not required) that an ARP request
  589.       first be sent as an all-stations broadcast, without a Routing
  590.       Information Field (RIF).  If the all-stations (local ring)
  591.       broadcast is not supported or if the all-stations broadcast is
  592.       unsuccessful after some reasonable time has elapsed, then send the
  593.       ARP request as an all-routes or single-route broadcast with an
  594.       empty RIF (no routing designators).  An all-routes broadcast is
  595.       preferable since it yields an amount of fault tolerance.  In an
  596.       environment with multiple redundant bridges, all-routes broadcast
  597.       allows operation in spite of spanning-tree bridge failures.
  598.       However, single-route broadcasts may be used if IP and ARP must
  599.       use the same broadcast method.
  600.  
  601.       When an ARP request or reply is received, all implementations are
  602.       required to understand frames with no RIF (local ring) and frames
  603.       with an empty RIF (also from the local ring).  If the
  604.       implementation supports multi-ring source routing, then a non-
  605.       empty RIF is stored for future transmissions to the host
  606.       originating the ARP request or reply.  If source routing is not
  607.       supported them all packets with non-empty RIFs should be
  608.       gracefully ignored.  This policy will allow all implementations in
  609.       a single ring environment, to interoperate, whether or not they
  610.       support the multi-ring extensions.
  611.  
  612.       It is possible that when sending an ARP request via an all-routes
  613.       broadcast that multiple copies of the request will arrive at the
  614.       destination as a result of the request being forwarded by several
  615.  
  616.  
  617.  
  618. Postel & Reynolds                                              [Page 11]
  619.  
  620. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  621.  
  622.  
  623.       bridges.  However, these "copies" will have taken different routes
  624.       so the contents of the RIF will differ.  An implementation of ARP
  625.       in this context must determine which of these "copies" to use and
  626.       to ignore the others.  There are three obvious and legal
  627.       strategies: (1) take the first and ignore the rest (that is, once
  628.       you have an entry in the ARP cache don't change it), (2) take the
  629.       last, (that is, always up date the ARP cache with the latest ARP
  630.       message), or (3) take the one with the shortest path, (that is,
  631.       replace the ARP cache information with the latest ARP message data
  632.       if it is a shorter route).  Since there is no problem of
  633.       incompatibility for interworking of different implementations if
  634.       different strategies are chosen, the choice is up to each
  635.       implementor.  The recipient of the ARP request must send an ARP
  636.       reply as a point to point message using the RIF information.
  637.  
  638.       The RIF information should be kept distinct from the ARP table.
  639.       That is, there is, in principle, the ARP table to map from IP
  640.       addresses to 802 48-bit addresses, and the RIF table to map from
  641.       those to 802.5 source routes, if necessary.  In practical
  642.       implementations it may be convenient to store the ARP and RIF
  643.       information together.
  644.  
  645.          Storing the information together may speed up access to the
  646.          information when it is used.  On the other hand, in a
  647.          generalized implementation for all types of 802 networks a
  648.          significant amount of memory might be wasted in an ARP cache if
  649.          space for the RIF information were always reserved.
  650.  
  651.       IP broadcasts (datagrams with a IP broadcast address) must be sent
  652.       as 802.5 single-route broadcasts.  Unlike ARP, all-routes
  653.       broadcasts are not desirable for IP.  Receiving multiple copies of
  654.       IP broadcasts would have undesirable effects on many protocols
  655.       using IP.  As with ARP, when an IP packet is received, all
  656.       implementations are required to understand frames with no RIF and
  657.       frames with an empty RIF.
  658.  
  659.       Since current interface hardware allows only one group address,
  660.       and since the functional addresses are not globally unique, IP and
  661.       ARP do not use either of these features.  Further, in the IBM
  662.       style 802.5 networks there are only 31 functional addresses
  663.       available for user definition.
  664.  
  665.       IP precedence should not be mapped to 802.5 priority.  All IP and
  666.       ARP packets should be sent at the default 802.5 priority.  The
  667.       default priority is 3.
  668.  
  669.       After packet transmission, 802.5 provides frame not copied and
  670.       address not recognized indicators.  Implementations may use these
  671.  
  672.  
  673.  
  674. Postel & Reynolds                                              [Page 12]
  675.  
  676. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  677.  
  678.  
  679.       indicators to provide some amount of error detection and
  680.       correction.  If the frame not copied bit is set but the address
  681.       not recognized bit is reset, receiver congestion has occurred.  It
  682.       is suggested, though not required, that hosts should retransmit
  683.       the offending packet a small number of times (4) or until
  684.       congestion no longer occurs.  If the address not recognized bit is
  685.       set, an implementation has 3 options: (1) ignore the error and
  686.       throw the packet away, (2) return an ICMP destination unreachable
  687.       message to the source, or (3) delete the ARP entry which was used
  688.       to send this packet and send a new ARP request to the destination
  689.       address.  The latter option is the preferred approach since it
  690.       will allow graceful recovery from first hop bridge and router
  691.       failures and changed hardware addresses.
  692.  
  693. Interoperation with Ethernet
  694.  
  695.    It is possible to use the Ethernet link level protocol [12] on the
  696.    same physical cable with the IEEE 802.3 link level protocol.  A
  697.    computer interfaced to a physical cable used in this way could
  698.    potentially read both Ethernet and 802.3 packets from the network.
  699.    If a computer does read both types of packets, it must keep track of
  700.    which link protocol was used with each other computer on the network
  701.    and use the proper link protocol when sending packets.
  702.  
  703.    One should note that in such an environment, link level broadcast
  704.    packets will not reach all the computers attached to the network, but
  705.    only those using the link level protocol used for the broadcast.
  706.  
  707.    Since it must be assumed that most computers will read and send using
  708.    only one type of link protocol, it is recommended that if such an
  709.    environment (a network with both link protocols) is necessary, an IP
  710.    gateway be used as if there were two distinct networks.
  711.  
  712.    Note that the MTU for the Ethernet allows a 1500 octet IP datagram,
  713.    with the MTU for the 802.3 network allows only a 1492 octet IP
  714.    datagram.
  715.  
  716.  
  717. Appendix on Numbers
  718.  
  719.    The IEEE likes to specify numbers in bit transmission order, or bit-
  720.    wise little-endian order.  The Internet protocols are documented in
  721.    byte-wise big-endian order.  This may cause some confusion about the
  722.    proper values to use for numbers.  Here are the conversions for some
  723.    numbers of interest.
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Postel & Reynolds                                              [Page 13]
  731.  
  732. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  733.  
  734.  
  735.    Number          IEEE    IEEE            Internet        Internet
  736.                    HEX     Binary          Binary          Decimal
  737.  
  738.    UI Op Code      C0      11000000        00000011          3
  739.    SAP for SNAP    55      01010101        10101010        170
  740.    XID             F5      11110101        10101111        175
  741.    XID             FD      11111101        10111111        191
  742.    TEST            C7      11000111        11100011        227
  743.    TEST            CF      11001111        11110011        243
  744.    Info            818000                                  129.1.0
  745.  
  746. References
  747.  
  748.    [1]   Postel, J., "Internet Protocol", RFC-791, USC/Information
  749.          Sciences Institute, September 1981.
  750.  
  751.    [2]   Plummer, D., "An Ethernet Address Resolution Protocol - or -
  752.          Converting Network Protocol Addresses to 48.bit Ethernet
  753.          Address for Transmission on Ethernet Hardware", RFC-826, MIT,
  754.          November 1982.
  755.  
  756.    [3]   IEEE, "IEEE Standards for Local Area Networks: Carrier Sense
  757.          Multiple Access with Collision Detection (CSMA/CD) Access
  758.          Method and Physical Layer Specifications", IEEE, New York, New
  759.          York, 1985.
  760.  
  761.    [4]   IEEE, "IEEE Standards for Local Area Networks: Token-Passing
  762.          Bus Access Method and Physical Layer Specification", IEEE, New
  763.          York, New York, 1985.
  764.  
  765.    [5]   IEEE, "IEEE Standards for Local Area Networks: Token Ring
  766.          Access Method and Physical Layer Specifications", IEEE, New
  767.          York, New York, 1985.
  768.  
  769.    [6]   IEEE, "IEEE Standards for Local Area Networks: Logical Link
  770.          Control", IEEE, New York, New York, 1985.
  771.  
  772.    [7]   Reynolds, J.K., and J. Postel, "Assigned Numbers", RFC-1010,
  773.          USC/Information Sciences Institute, May 1987.
  774.  
  775.    [8]   Braden, R., and J. Postel, "Requirements for Internet
  776.          Gateways", RFC-1009, USC/Information Sciences Institute, June
  777.          1987.
  778.  
  779.    [9]   Leffler, S., and M. Karels, "Trailer Encapsulations", RFC-893,
  780.          University of California at Berkeley, April 1984.
  781.  
  782.    [10]  Postel, J., "The TCP Maximum Segment Size Option and Related
  783.  
  784.  
  785.  
  786. Postel & Reynolds                                              [Page 14]
  787.  
  788. RFC 1042            IP and ARP on IEEE 802 Networks        February 1988
  789.  
  790.  
  791.          Topics", RFC-879, USC/Information Sciences Institute, November
  792.          1983.
  793.  
  794.    [11]  Cohen, D., "On Holy Wars and a Plea for Peace", Computer, IEEE,
  795.          October 1981.
  796.  
  797.    [12]  D-I-X, "The Ethernet - A Local Area Network: Data Link Layer
  798.          and Physical Layer Specifications", Digital, Intel, and Xerox,
  799.          November 1982.
  800.  
  801.    [13]  IBM, "Token-Ring Network Architecture Reference", Second
  802.          Edition, SC30-3374-01, August 1987.
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Postel & Reynolds                                              [Page 15]
  843.